Skip to content

feat: add --profile ci and memoize ciTopology in-process - #765

Merged
jonathanong merged 25 commits into
mainfrom
feat/profile-ci-topology-memo
Aug 23, 2026
Merged

feat: add --profile ci and memoize ciTopology in-process#765
jonathanong merged 25 commits into
mainfrom
feat/profile-ci-topology-memo

Conversation

@jonathanong

@jonathanong jonathanong commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • CLI --profile ci sets --timeout 0 --lock-timeout 0.
  • Node profile: \"ci\" is stripped from command JSON; omitted Node timeouts stay unbounded.
  • ciTopology() memoizes in-process by resolved root, config path, and mtime, and drops the cache entry on reject.

Test plan

  • ci_profile_disables_timeouts
  • napi_profile_ci_is_stripped
  • CLI help includes --profile
  • CI green

Made with Cursor

Shepherd Journal

jonathanong and others added 2 commits August 22, 2026 11:45
CLI JSON stays snake_case. Node testsPlan/testsImpact and analyzeProject
plan reports now camelize keys, expose optional executionTargets.name, and
filter selected tests with includeGlob/--include-glob.

Co-authored-by: Cursor <cursoragent@cursor.com>
CLI --profile ci forces unbounded command and lock timeouts. Node
profile: \"ci\" is stripped from command JSON, and ciTopology() reuses
in-process results keyed by root, config path, and mtime.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

This comment has been minimized.

@chatgpt-codex-connector

This comment has been minimized.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 22, 2026
@sourcery-ai

This comment has been minimized.

sourcery-ai[bot]

This comment was marked as resolved.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

@codecov

This comment has been minimized.

@codspeed-hq

This comment has been minimized.

jonathanong and others added 2 commits August 22, 2026 12:03
Decamelize planJson for comment/graph APIs, camelize testsTargets/testsWhy/
testsGraph results, name Swift prefixes only on Swift runners, and align
the declaration tests plus includeGlob docs with testsPlan-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

The stacked merge left conflict markers in Agent Defaults; keep both the
camelCase TestPlan notes and ciTopology memo / profile ci docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

jonathanong and others added 2 commits August 22, 2026 12:24
JSON.stringify(testsPlan()) must round-trip through comment/graph APIs,
analyzeProject document reports need the same conversion, and testsWhy
must not camelize changed-file map keys.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

jonathanong and others added 2 commits August 22, 2026 12:40
Different workflow filters must not share a cached topology, and Node
profile: \"ci\" must clear supplied command and lock deadlines like the CLI.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

jonathanong and others added 3 commits August 22, 2026 12:47
Saved testsPlan JSON loaded via plan must decamelize like planJson, and
analyzeProject must camelize testsTargets, testsGraph, and testsWhy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

jonathanong and others added 2 commits August 22, 2026 12:56
Native TestsWhyOptions rejects planJson. Materialize camelCase saved plans
to a snake_case temp file and pass that as plan for both standalone and
batched why reports.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

jonathanong and others added 4 commits August 22, 2026 17:26
Batched analyzeProject why reports can share a PID/timestamp filename;
mkdtempSync keeps each saved plan isolated.

Co-authored-by: Cursor <cursoragent@cursor.com>
Prepare plan documents with fs/promises and always delete mkdtemp dirs
after standalone and batched why reports, including native rejections.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

jonathanong and others added 2 commits August 22, 2026 18:02
Runtime already accepts inline saved plans on testsWhy and batched
analyzeProject reports; the types need to match.

Co-authored-by: Cursor <cursoragent@cursor.com>
Base automatically changed from feat/testplan-js-contract to main August 23, 2026 01:11
Keep in-process ciTopology memo and profile-ci timeout clearing on top of
the merged TestPlan Node contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
@jonathanong
jonathanong enabled auto-merge (squash) August 23, 2026 01:14
@chatgpt-codex-connector

This comment has been minimized.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

docs_coverage matches the inventory header and `| \`name\` |` rows
exactly; the padded merge table failed that parser.

Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

This comment has been minimized.

jonathanong and others added 2 commits August 22, 2026 18:27
Memo keying already uses path.resolve; pass that same root into N-API so a
chdir between cache lookup and the native lock cannot serve the wrong tree.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep ciTopology memo and absolute-root native pin on top of the latest
postgres-require-query-annotation rule.
@chatgpt-codex-connector

This comment has been minimized.

@jonathanong
jonathanong merged commit e18186b into main Aug 23, 2026
23 checks passed
@jonathanong
jonathanong deleted the feat/profile-ci-topology-memo branch August 23, 2026 01:37
jonathanong added a commit that referenced this pull request Aug 23, 2026
Keep no-mistakes-config and workflow-topology-policy registered alongside
postgres-no-add-column.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant